package com.qys.livesMall.app.user.model.vo.sys;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * Created by IntelliJ IDEA.
 * User: dp
 * Date: 2023/04/24
 * Time: 15:50
 * DESCRIPTION: 后台分页查询用户信息VO
 */
@Data
public class SysAppUserPageVo implements Serializable {

    @Serial
    private static final long serialVersionUID = -1L;

    @Schema(description = "ID")
    private Long id;

    @Schema(description = "头像")
    private String avatar;

    @Schema(description = "用户名")
    private String userName;

    @Schema(description = "昵称")
    private String nickName;

    @Schema(description = "邮箱")
    private String email;

    @Schema(description = "ip地址")
    private String ip;

    @Schema(description = "余额")
    private BigDecimal amount;

    @Schema(description = "代币余额")
    private BigDecimal goldAmount;

    @Schema(description = "最后登录时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+0")
    private LocalDateTime lastLoginTime;

    @Schema(description = "加入时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+0")
    private LocalDateTime createTime;

    @Schema(description = "用户类型(0普通用户,1店主,2主播)")
    private Byte userType;

    @Schema(description = "来源(0app,1水军)")
    private Integer source;

    @Schema(description = "订单数")
    private Integer orderCount = 0;

    @Schema(description = "上级名称")
    private String superiorName;

    @Schema(description = "上级id")
    private String superior;

    @Schema(description = "下级数量")
    private Integer lowerCount;

    @Schema(description = "是否置顶")
    private Boolean top;

    @Schema(description = "用户显示Id（用户账号）")
    private String userRandomId;

    @Schema(description = "邀请码")
    private String invitationCode;

    @Schema(description = "用户系统类型（0：水军，1：正常用户）")
    private Integer userSysType;

    @Schema(description = "用户等级")
    private String userLevel;

    @Schema(description = "用户等级")
    private Long userLevelId;

    @Schema(description = "状态(0未冻结,1冻结)")
    private Integer status;

    @Schema(description = "店铺名称")
    private String shopName;

    @Schema(description = "店铺id")
    private Long shopId;

    @Schema(description = "水军状态（1已占用，0未占用）")
    private Integer navyStatus;
}
